﻿Imports Sistema_InformacionNaviera.BC
Imports Sistema_InformacionNaviera.BE
Imports Sistema_InformacionNavier.UTIL

Public Class Consultar_DiasLibres
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            CargarServicio("SR")
            CargarGridConsulta()
        End If
        If My.Request.Params("__EVENTTARGET") = "MiFuncionPaquetes" Then

            If Session("BSSCodigoEntidadCON") = Nothing Then
                txtCodCsne.Text = String.Empty
            Else
                txtCodCsne.Text = Session("BSSCodigoEntidadCON")
                txtCsne.Text = Session("BSSNombreEntidadCON")
            End If
        End If
    End Sub


    Public Sub CargarServicio(ByVal sTipo As String)
        Dim listGeneralBE As List(Of GeneralBE) = New List(Of GeneralBE)
        Dim objGeneralBC As GeneralBC = New GeneralBC()

        Dim objUnidadSeleccione As GeneralBE = New GeneralBE
        objUnidadSeleccione.Codigo = 0
        objUnidadSeleccione.Descripcion = "[Seleccione]"
        listGeneralBE.Add(objUnidadSeleccione)
        objUnidadSeleccione.Codigo = sTipo

        listGeneralBE.AddRange(objGeneralBC.ListadoGeneral(objUnidadSeleccione))

        cboServicio.DataSource = listGeneralBE
        cboServicio.DataValueField = "Codigo"
        cboServicio.DataTextField = "Descripcion"
        cboServicio.DataBind()

    End Sub

    Public Sub CargarGridConsulta()
        Dim objDiasLibresBE As New DiasLibresBE
        Dim lstDiasLibresBE As New List(Of DiasLibresBE)
        Dim objUtil As New Funciones
        Dim objDiasLibresBC As New DiasLibresBC 

        objDiasLibresBE.Serv = "" : objDiasLibresBE.CodCli = ""
        If cboServicio.SelectedValue.Trim <> "" Then
            objDiasLibresBE.Serv = cboServicio.SelectedValue.Trim 
        End If
        If txtCodCsne.Text.Trim <> "" And txtCsne.Text.Trim <> "" Then
            objDiasLibresBE.CodCli = txtCodCsne.Text.Trim
        End If

        objDiasLibresBE.Esta = IIf(ChkVigente.Checked, "0", "4")

        lstDiasLibresBE = objDiasLibresBC.ListaDiasLibres(objDiasLibresBE)
        dgDiasLibres.DataSource = lstDiasLibresBE
        dgDiasLibres.DataBind()
    End Sub

    Protected Sub btnConsultar_Click(sender As Object, e As EventArgs) Handles btnConsultar.Click
        CargarGridConsulta()
    End Sub

    Private Sub dgDiasLibres_RowCommand(sender As Object, e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles dgDiasLibres.RowCommand
        Dim intCodigo As Integer = Convert.ToInt32(e.CommandArgument)
        Dim sMensaje As String = String.Empty
        Dim bExito As Boolean
            Select Case e.CommandName  '.ToLower
            Case "Detalle"
                CargarGridDetalle(intCodigo)

                 
            Case "Editar"
                Session("TipoEvento") = 1 'modificar
                Session("CodigoDL") = intCodigo
                Response.Redirect("~/Page/DiasLibres/DiasLibres.aspx", True)
            Case "Eliminar"
                If MsgBox("Esta seguro de eliminar el registro?", vbYesNo, Me.Title) = MsgBoxResult.Yes Then

                    Dim objDiasLibreBE As New DiasLibresBE
                    Dim objDiasLibreBC As New DiasLibresBC
                    objDiasLibreBE.Kdli = intCodigo
                    objDiasLibreBE.Tipo = "P"

                    bExito = objDiasLibreBC.EliminarDiasLibres(objDiasLibreBE, bExito, sMensaje)
                    If bExito Then
                        MsgBox("El registro fue eliminado con éxito.", vbInformation, Me.Title)
                        CargarGridConsulta()
                    End If
                End If
        End Select
    End Sub

    Public Sub CargarGridDetalle(iKdli As Integer)
        Dim objDiasLibresDetBE As DiasLibresDetalleBE
        Dim lstDiasLibresDetBE As New DataTable
        Dim objUtil As New Funciones
        Dim objDiasLibresDetBC As New DiasLibresDetalleBC

        If iKdli > 0 Then
            'Contenedor
            objDiasLibresDetBE = New DiasLibresDetalleBE
            objDiasLibresDetBE.KdliDet = iKdli
            objDiasLibresDetBE.Tipo = "CT"
            lstDiasLibresDetBE = objDiasLibresDetBC.ListaDiasLibresDetalle(objDiasLibresDetBE)
            dlContenedores.DataSource = lstDiasLibresDetBE
            dlContenedores.DataBind()

            'Bill of lading
            objDiasLibresDetBE = New DiasLibresDetalleBE
            objDiasLibresDetBE.KdliDet = iKdli
            objDiasLibresDetBE.Tipo = "BL"
            lstDiasLibresDetBE = objDiasLibresDetBC.ListaDiasLibresDetalle(objDiasLibresDetBE)
            dlBL.DataSource = lstDiasLibresDetBE
            dlBL.DataBind()

            'Tipo Pies
            objDiasLibresDetBE = New DiasLibresDetalleBE
            objDiasLibresDetBE.KdliDet = iKdli
            objDiasLibresDetBE.Tipo = "TP"
            lstDiasLibresDetBE = objDiasLibresDetBC.ListaDiasLibresDetalle(objDiasLibresDetBE)
            dlTipoPies.DataSource = lstDiasLibresDetBE
            dlTipoPies.DataBind()

            'Puerto
            objDiasLibresDetBE = New DiasLibresDetalleBE
            objDiasLibresDetBE.KdliDet = iKdli
            objDiasLibresDetBE.Tipo = "PT"
            lstDiasLibresDetBE = objDiasLibresDetBC.ListaDiasLibresDetalle(objDiasLibresDetBE)
            dlPuertos.DataSource = lstDiasLibresDetBE
            dlPuertos.DataBind()

            'Pais
            objDiasLibresDetBE = New DiasLibresDetalleBE
            objDiasLibresDetBE.KdliDet = iKdli
            objDiasLibresDetBE.Tipo = "PA"
            lstDiasLibresDetBE = objDiasLibresDetBC.ListaDiasLibresDetalle(objDiasLibresDetBE)
            dlPais.DataSource = lstDiasLibresDetBE
            dlPais.DataBind()

            'Area
            objDiasLibresDetBE = New DiasLibresDetalleBE
            objDiasLibresDetBE.KdliDet = iKdli
            objDiasLibresDetBE.Tipo = "AR"
            lstDiasLibresDetBE = objDiasLibresDetBC.ListaDiasLibresDetalle(objDiasLibresDetBE)
            dlArea.DataSource = lstDiasLibresDetBE
            dlArea.DataBind()
        End If
    End Sub

    Protected Sub btnSalir_Click(sender As Object, e As EventArgs) Handles btnSalir.Click
        Response.Redirect("~/Default.aspx", True)
    End Sub

    Protected Sub btnNuevo_Click(sender As Object, e As EventArgs) Handles btnNuevo.Click
        Session("TipoEvento") = 0
        If cboServicio.SelectedIndex = 0 Then
            Session("Servicio") = ""
        Else
            Session("Servicio") = cboServicio.SelectedValue
        End If
        Response.Redirect("~/Page/DiasLibres/DiasLibres.aspx", True)
    End Sub


    Sub Cambiarpagina(ByVal sender As Object, ByVal e As GridViewPageEventArgs)

      CargarGridConsulta()

    End Sub
     
End Class